'use strict'

const commonService = require('egg').Service

class ActionTokenService extends commonService {
    // 签发h5页面token
    async apply({ _id }) {
        const { ctx } = this
        return ctx.app.jwt.sign(
            {
                data: { _id },
                exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 7
            },
            ctx.app.config.jwt.web
        )
    }

    // 签发后端管理员token
    async admin({ id }) {
        const { ctx } = this
        return ctx.app.jwt.sign(
            {
                data: { id },
                exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 7
            },
            ctx.app.config.jwt.admin
        )
    }
}

module.exports = ActionTokenService
